<?php 
    // 声明跟数据库相关的常量
    define("DB_HOST",'localhost');
    define("DB_USER",'root');
    define("DB_PWD",'123');
    define("DB_NAME",'baixiu');
    define("DB_CODE",'utf8');

    // 封装操作数据库的方法
    // 连接数据库
    function conn(){
        $conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
        mysqli_set_charset($conn,DB_CODE);
        return $conn;
    }

    // 关闭数据库
    function close($conn){
        mysqli_close($conn);
    }

    // 执行数据库查询操作
    function query($conn,$sql){
        $result = mysqli_query($conn,$sql);
        // 把结果转换为数组
        $data = [];
        while($row = mysqli_fetch_assoc($result)){
            $data[] = $row;
        }
        return $data;
    }

    // 封装用于新增数据的函数
    // 需要两个参数：  表格  数组
    function insert($table,$arr){
        // 连接数据库
        $conn = conn();
        // print_r($arr);
        // 拼接sql语句
        $sql = "INSERT into {$table} set ";
        $temp = [];
        // 遍历数组拼接： 键=值 的形式
        foreach($arr as $key => $value){
            $temp[] = "`{$key}`='{$value}'";
        }
        // 相当于js的join
        $res = implode(",", $temp);
        $sql .= $res;
        // 执行sql语句
        $result = mysqli_query($conn,$sql);
        // 关闭数据库的连接
        close($conn);
        if(!$result){
            exit('数据错误');
        }
        return $result;
    }

    // 更新的操作的封装
    // 需要三个参数： 表格， 数组， id
    function update($table,$arr,$id){
        $conn = conn();
        // 根据$_POST里面的键值对自动生成sql语句
        $sql = "UPDATE {$table} set ";
        // 拼接键=值的形式
        $temp = [];
        foreach($arr as $key => $value){
            $temp[] = "`{$key}`='{$value}'";
        }
        // 逗号分隔
        $sql .= implode(",",$temp) ."where id={$id}";
        // 执行
        $result = mysqli_query($conn,$sql);
        // 关闭数据库连接
        close($conn);
        // 返回执行结果
        return $result;
    }

    // 根据id删除数据的函数
    function deleteById($table,$id){
        $conn = conn();
        $sql = "DELETE FROM {$table} WHERE id={$id}";
        $result = mysqli_query($conn,$sql);
        close($conn);
        return $result;
    }


    function deleteLot($table,$id){
        $conn  = conn();
        $idArr = implode(",",$id);
        $sql = "DELETE FROM {$table} WHERE id in ({$idArr})";
        $result = mysqli_query($conn,$sql);
        close($conn);
        return $result;
    }
?>